#ifndef PITA_INTERFACES_IQUEUE_CURSOR_H_
#define PITA_INTERFACES_IQUEUE_CURSOR_H_

#include <boost/signals.hpp>

#include "types.h"

namespace pita
{
	class QueueInterface;

	struct QueueCursorInterface
	{
			virtual void next() = 0;
			virtual void previous() = 0;
			virtual Index position() const = 0;
			virtual void setPosition(Index) = 0;
			virtual QueueInterface& queue() = 0;
			virtual const QueueInterface& queue() const = 0;
			
			boost::signal<void()> changeSignal;
	};

}

#endif
